package com.hospital.common.pojo;

/**
 * 图片审核结果代码常量
 * 用于规范化审核服务的返回结果
 */
public class AuditResult {
    // 成功状态
    public static final int COMPLIANT = 1;       // 合规 - 医疗图片通过审核

    // 不合规状态
    public static final int NON_COMPLIANT = 0;    // 不合规 - 包含违规内容

    // 错误状态 (负数表示错误)
    public static final int ERROR_API_KEY = -1;           // API密钥错误
    public static final int ERROR_IMAGE_URL = -2;         // 图片URL无效或格式错误
    public static final int ERROR_SECURITY_BLOCK = -3;    // 被安全系统拦截
    public static final int ERROR_API_REQUEST = -4;       // API请求失败
    public static final int ERROR_RESPONSE_PARSE = -5;    // 响应解析失败
    public static final int ERROR_NETWORK = -6;           // 网络错误
    public static final int ERROR_MEDICAL_CONTEXT = -7;   // 医疗上下文验证失败

    /**
     * 获取结果代码的描述文本
     */
    public static String getDescription(int resultCode) {
        switch (resultCode) {
            case COMPLIANT:
                return "合规 ";
            case NON_COMPLIANT:
                return "不合规 - 文件包含违规内容";
            case ERROR_API_KEY:
                return "API密钥配置错误";
            case ERROR_IMAGE_URL:
                return "文件URL无效或格式不支持";
            case ERROR_SECURITY_BLOCK:
                return "文件被安全系统拦截";
            case ERROR_API_REQUEST:
                return "调用审核API时出错";
            case ERROR_RESPONSE_PARSE:
                return "无法解析审核API响应";
            case ERROR_NETWORK:
                return "网络连接错误";
            case ERROR_MEDICAL_CONTEXT:
                return "非医疗系统文件或上下文缺失";
            default:
                return "未知审核结果代码: " + resultCode;
        }
    }

    /**
     * 检查结果是否表示成功（合规）
     */
    public static boolean isCompliant(int resultCode) {
        return resultCode == COMPLIANT;
    }

    /**
     * 检查结果是否表示错误
     */
    public static boolean isError(int resultCode) {
        return resultCode < 0;
    }
}
